<?php  
//header("Content-Type:text/html;charset=gbk");  

/*
	过滤特殊字符，字符串或者数组都可以过滤
*/ 
function collect_strip_tags($str){
	if(!is_array($str)){
		$str=htmlspecialchars($str);
	}
	else{
		// array_walk_recursive() 函数对数组中的每个元素应用回调函数。
		array_walk_recursive($str,"_collect_strip_tags");
	}
	return $str;
}

function _collect_strip_tags($str){
	$str = collect_strip_tags($str);
}   

/*
	采集列表分页区域
*/
function collect_urls_area($start,$end,$str){
	$a = collect_diff($start, $end, $str);
	//return(collect_strip_tags($a));
	return $a;
}

/*
	采集url链接
*/

function collect_urls($url,$start,$end){
	$f = file_get_contents($url);
	$str = collect_diff($start, $end, $f);
	
	// 匹配链接标签
	$regex='/<a\s.*?href\s*?=\s*([\"\']?)([^\s\>\'\"]+)\1.*?>.*?<\/a>/i';
	preg_match_all($regex,$str,$data,PREG_PATTERN_ORDER);
	
	// 保存url地址
	/*foreach($data[2] as $k=>$v){
		
	}*/
	return $data[2];
	
}

/*
	匹配一头一尾之间差的内容(正则方式) ，与collect_diff是一样的功能，唯一区别在于这个是用正则实现的
*/
function collect_diff_preg($start,$end,$str){
	preg_match("/(".$start.")(.*?)(".$end.")/is",$str,$content);
	return $content[2];
}

// 字符串截取函数 （普通方式）
// 一个简单的php采集例子
// http://www.huikon.cn/post-51.html
function collect_diff($start, $end, $str) 
{  
  $temp = explode($start, $str, 2);  
  $content = explode($end, $temp[1], 2);
  return strip_tags($content[0]);  
}   

switch($action){
	case 'insert':
		if($submit){
			
			$goodsurl = $_POST['url'] ? $_POST['url'] : "http://item.taobao.com/item.htm?id=10203272128";
			// 地址简单过滤
			if(!strstr($goodsurl,"taobao.com") && !strstr($goodsurl,"tmall.com")){
				showmessage("地址不正确");
			}
			
			// 采集淘宝宝贝参数
			$str = file_get_contents("$goodsurl");
			$str=iconv("gbk","utf-8", $str);//utf-8字符编码转GB2312  
			$info['goodsurl'] = $_POST['url'];
			$info['title'] = collect_diff("<title>", "</title>", $str); //采集标题
			$info['price'] = collect_diff('<input type="hidden" name="current_price" value= "', '" />', $str); //价格  
			$info['description'] = collect_diff('<meta name="description" content="', '"/>', $str); //采集内容  
			$info['keywords'] = collect_diff('<meta name="keywords" content="', '" />', $str); //采集内容  
			$info['thumb'] = grabimage(collect_diff('<img id="J_ImgBooth" src="', '"  data-hasZoom="700" />', $str)); //采集图片保存到本地  
			$info['status'] = 99; // 默认发布
			
			// 发布文章的惯用写法
			$db->insert(DB_PRE.'taobao',$info);
			$id = $db->insert_id();
			
			// 更新淘宝url地址
			$db->update(DB_PRE.'taobao',array('url'=>"./?module=taobao&id=$id")," taobaoid = $id ");
			
			if($id){
				showmessage("发布成功,现在开始写一段宝贝评论",url("?module=$module&id=$id"));
			}
			
		}
		else{
			include 'taobao.tpl.php';
		}
	break;
	
	default:
		if($id){
			$data = $db->get_one("select * from ".DB_PRE."taobao where taobaoid = $id");
			extract($data);
		 
			
			// 模板
			include template('view.html','taobao');
		}
		else{
			include template('index.html','taobao');
		}
	break;
}


?>  